/**
 * 页面加载
 */

//业务窗口关闭方法
var WF_BUSINESS_WINDOW_CLOSE;


var BS_WF_ID;

//业务ID
var BS_IDVALUE = '';
//业务流程ID
var BS_PROCESSID = '';
//业务数据表格ID
var BS_DATAGRID_ID = '';
//业务流程按钮ID
var BS_BTN_ID;

//任务ID
var WF_TASKID = '';
//模型名称
var WF_MODELNAME = '';
//模型ID名称
var WF_MODELIDNAME = '';
//委托人类型
var WF_ASSIGNETYPE = '';
//角色
var WF_ROLES = '';
//委托人
var WF_ASSIGNE = '';


//任务提交窗口
var TASKSEND_WINDOW;
//任务回退窗口
var TASKBACK_WINDOW;
//任务归档窗口
var TASKEND_WINDOW;
//任务日志窗口
var TASKLOG_WINDOW;

//委托人数据表格
var DG_ENTRUST;
//任务日志数据表格
var DG_TASKLOG;

//判断是否浏览
var IS_ABDW;

$(function(){
	
	/**
	 * 初始化面板
	 */
	//初始化任务送交面板
	PANEL_INIT(GETID('TASKSEND_PANEL'));
	//初始化任务回退面板
	PANEL_INIT(GETID('TASKBACK_PANEL'));
	//初始化任务归档面板
	PANEL_INIT(GETID('TASKEND_PANEL'));
	/**
	 * 初始化选择流程路由数据表
	 */
/*	$('#routeDateGrid').datagrid({
		//url:'userAjax!loadUsersData?curDepartId='+ curDepartId +'&pageNo=1&pageSize='+myPageSize,
		nowrap: false,
		border:false,
		striped: true,
		collapsible:true,
		sortName: 'id',
		singleSelect:true,
		sortOrder: 'desc',
		remoteSort: false,
		idField:'id',	
		columns:[[
		           {field:'id',title:'路由名称',width:170}
				]]
	});*/

	$('#WF_TASKLOG_WINDOW_BTN_CLOSE').linkbutton({plain:true, iconCls:'icon-close'});
	
	//初始化任务送交窗口
	WF_TASKSEND_WINDOW_INIT();
	
	//初始化任务回退窗口
	WF_TASKBACK_WINDOW_INIT();
	
	//初始化任务归档窗口
	WF_TASKEND_WINDOW_INIT();
	
	//初始化任务日志窗口
	WF_TASKLOG_WINDOW_INIT();
	
	//初始化流程委托人数据表格
	WF_ENTRUST_DG_INIT();
	
	//初始化流程日志数据表格
	WF_TASKLOG_DG_INIT();
	

});

/**
 * 初始化流程委托人数据表格
 */
function WF_ENTRUST_DG_INIT(){
	//设置委托人数据表格
	DG_ENTRUST = GETID('ENTRUST_DATAGRID');
	//显示字段
	var DG_TASKSEND_COLUMNS =[
	                          {field:'ck', checkbox:true},
	                          {field:'id',title:'帐号',width:100},
	                          {field:'name',title:'姓名',width:100},
	                          {field:'departName',title:'部门',width:170}
	                         ];
	var TOOLBAR = '';
	DG_INIT(DG_ENTRUST, '', DG_TASKSEND_COLUMNS, true, true, TOOLBAR);
}

/**
 * 初始化任务送交窗口
 */
function WF_TASKSEND_WINDOW_INIT(){
	TASKSEND_WINDOW = GETID('TASKSEND_WINDOW_DIV');
	WINDOW_INIT(TASKSEND_WINDOW, '任务流转', 600, 400, 'icon-task');
}

/**
 * 初始化任务回退窗口
 */
function WF_TASKBACK_WINDOW_INIT(){
	TASKBACK_WINDOW = GETID('TASKBACK_WINDOW_DIV');
	WINDOW_INIT(TASKBACK_WINDOW, '任务流转', 600, 200, 'icon-task');
}

/**
 * 初始化任务归档窗口
 */
function WF_TASKEND_WINDOW_INIT(){
	TASKEND_WINDOW = GETID('TASKEND_WINDOW_DIV');
	WINDOW_INIT(TASKEND_WINDOW, '任务流转', 600, 200, 'icon-task')
}

/**
 * 初始化流程日志窗口
 */
function WF_TASKLOG_WINDOW_INIT(){
	TASKLOG_WINDOW = GETID('TASKLOG_WINDOW_DIV');
	WINDOW_INIT(TASKLOG_WINDOW, '任务日志', 800, 400, 'icon-task');
}

/**
 * 初始化流程日志数据表格
 */
function WF_TASKLOG_DG_INIT(){
	//设置委托人数据表格
	DG_TASKLOG = GETID('TASKLOG_DATAGRID');
	//显示字段
	var DG_TASKLOG_COLUMNS =[
	    		             {field:'nodeName',title:'任务名称',width:100},
	    		             {field:'assignee',title:'执行人',width:80},
	    		             {field:'transCode',title:'推进方式',width:100},
	    		             {field:'startTime',title:'开始时间',width:130},
	                         {field:'endTime',title:'结束时间',width:130},
	    		             {field:'comments',title:'审批意见',width:200}
	                        ];
	var TOOLBAR = '#TASKLOG_BAR';
	DG_INIT(DG_TASKLOG, '', DG_TASKLOG_COLUMNS, true, true, TOOLBAR);
}


function PRO_TEST(NAME){
	alert(NAME);
}



/**
 * 初始化待办事宜工作流按钮
 * @param BTNOBJ
 * @param DATAGRID
 */
function WF_ABDW_BTN_INIT(BTNOBJ, DATAGRID){
	IS_ABDW = true;
	BS_BTN_ID = OBJ_IS_EMPTY(BTNOBJ);
	$.post('doAutAjax!loadBusinessWorkflowParam', {},
			function(data){
				BS_IDVALUE = data.idValue;
				BS_PROCESSID = data.processId;
				WF_MODELNAME = data.modelName;
				WF_MODELIDNAME = data.modelIdName;
				BS_DATAGRID_ID = GETID(data.dgName);
				BS_WF_ID = 'WQ_' + BS_IDVALUE + '_' + BS_PROCESSID

				$.post('workflowPermissionAjax!loadWorkflowBtnData', {modelName:WF_MODELNAME, modelIdName:WF_MODELIDNAME, id:BS_IDVALUE},
						function(data){
							//初始化流程按钮代码
							WF_BTN_TYPE_INIT(data);
					}, 'json');
				
		}, 'json');
}
/**
 * 初始化工作流按钮
 * @param MODELNAME			业务模型名称
 * @param MODELIDNAME		业务模型ID
 * @param ROW				业务数据
 * @param DATAGRID_ID		业务数据表格ID
 */
function WF_BTN_INIT(MODELNAME, MODELIDNAME, ROW, BTNOBJ, DATAGRID){
	IS_ABDW = false;
	BS_BTN_ID = OBJ_IS_EMPTY(BTNOBJ);
	BS_DATAGRID_ID = OBJ_IS_EMPTY(DATAGRID);
	BS_IDVALUE = OBJ_IS_EMPTY(ROW.id);
	BS_PROCESSID = OBJ_IS_EMPTY(ROW.processId);
	WF_MODELNAME = OBJ_IS_EMPTY(MODELNAME);
	WF_MODELIDNAME = OBJ_IS_EMPTY(MODELIDNAME);
	BS_WF_ID = BS_IDVALUE + '_' + BS_PROCESSID;
	
	//加载工作流按钮数据
	$.post('workflowPermissionAjax!loadWorkflowBtnData', {modelName:MODELNAME, modelIdName:MODELIDNAME, id:BS_IDVALUE},
			function(data){
				//初始化流程按钮代码
				WF_BTN_TYPE_INIT(data);
		}, 'json');
}


/**
 * 初始化工作流按钮代码
 * @param ID
 * @param DATA
 * @param BTNOBJ
 */
function WF_BTN_TYPE_INIT(DATA){
	//清空按钮
	BS_BTN_ID.html('');
	
	//初始化
	var HTML = '';
	var BUTTONS = DATA.buttons;
	
	//全局变量
	WF_ASSIGNETYPE = OBJ_IS_EMPTY(DATA.assigneType);
	WF_ROLES = OBJ_IS_EMPTY(DATA.roles);
	WF_ASSIGNE = OBJ_IS_EMPTY(DATA.assignes);
	
	//如果BUTTONS 类型是 object 则设置工作流按钮
	if(typeof(BUTTONS) == "object" || typeof(BUTTONS) == "string"){
		
		//如果buttons = WF_STRAT
		if(BUTTONS == 'WF_START'){
			//设置流程启动按钮
			HTML = WF_PROCESSSTART_BTN_CODE_INIT(DATA.processFunMountIds, DATA.processFunMountNames);
			//显示按钮
			BS_BTN_ID.html(HTML);
			//初始化流程启动按钮样式
			WF_PROCESSSTART_BTN_STYLE_INIT(DATA.processFunMountIds);
		}else{
			//任务ID
			WF_TASKID = OBJ_IS_EMPTY(DATA.taskId);
			//设置工作流按钮
			HTML = WF_BTN_CODE_INIT(BUTTONS);
			//设置任务流转
			HTML += '<a id="WF_LOG_' + BS_WF_ID + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_TASKLOG_WINDOW_OPEN(' + BS_IDVALUE + ', ' + BS_PROCESSID + ');">任务流转</a>';
			//如果是待办事宜则加入关闭按钮
			if(IS_ABDW){
				HTML += '<a id="WF_ABDW_WINDOW_CLOSE" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_BUSINESS_WINDOW_CLOSE();">关闭</a>';			
			}
			//显示按钮
			BS_BTN_ID.html(HTML);
			//初始化工作流按钮样式
			WF_BTN_STYLE_INIT();
			$('#WF_ABDW_WINDOW_CLOSE').linkbutton({plain:true,iconCls:'icon-close'});
		}
	}else{
		//设置任务流转
		HTML += '<a id="WF_LOG_' + BS_WF_ID + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_TASKLOG_WINDOW_OPEN(' + BS_IDVALUE + ', ' + BS_PROCESSID + ');">任务流转</a>';
		//如果是待办事宜则加入关闭按钮
		if(IS_ABDW){
			HTML += '<a id="WF_ABDW_WINDOW_CLOSE" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_BUSINESS_WINDOW_CLOSE();">关闭</a>';			
		}
		//显示按钮
		BS_BTN_ID.html(HTML);
		//任务流转
		$('#WF_LOG_' + BS_WF_ID).linkbutton({plain:true,iconCls:'icon-task'});
		$('#WF_ABDW_WINDOW_CLOSE').linkbutton({plain:true,iconCls:'icon-close'});
	}
}


/**
 * 设置流程启动按钮
 * @param ID		流程部署IDS
 * @param BTNNAME	流程部署名称
 * @param ROWID 	业务ID
 * @param WPFMID	流程ID
 */
function WF_PROCESSSTART_BTN_CODE_INIT(IDS, BTNNAME){
	var HTML = '';
	IDS = String(IDS).split(',');
	BTNNAME = String(BTNNAME).split(',');
	for(var i = 0; i < IDS.length; i++){
		HTML += '<a id="WF_START_' + IDS[i] + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_PROCESS_START(' + IDS[i] + ');">启动' + BTNNAME[i] + '</a> ';
	}
	return HTML;
}


/**
 *初始化流程启动按钮样式
 *@param IDS 
 */
function WF_PROCESSSTART_BTN_STYLE_INIT(IDS){
	IDS = String(IDS).split(',');
	for(var i = 0; i < IDS.length; i++){
		$('#WF_START_' + IDS[i]).linkbutton({plain:true, iconCls:'icon-task-start'});
	}

	//任务流转
	$('#WF_LOG_' + BS_WF_ID).linkbutton({plain:true,iconCls:'icon-task'});
}

/**
 * 设置工作流按钮
 * @param ID
 * @param BTN
 * @returns 拼接的HTML
 */
function WF_BTN_CODE_INIT(BTN){
	var HTML = ' ';
	BTN = String(BTN).split(',');
	for(var i = 0; i < BTN.length; i++){
		//遍历按钮
		HTML += WF_BTN_CODE(BTN[i]) + ' ';
	}
	return HTML;
}

/**
 * 工作流全部按钮
 * @param ID	业务ID
 * @param BTN	按钮字符串
 */
function WF_BTN_CODE(BTN){
	var HTML = '';
	BTN = String(BTN);
	
	if(BTN == 'WF_TASK'){
		HTML = '<a id="WF_TASK_' + BS_WF_ID + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_EXEC_TASK_TAKE();">领取</a>';	
	}
	
	//发送
	if(BTN == 'WF_SEND'){
		HTML = '<a id="WF_SEND_' + BS_WF_ID + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_TASKSEND_WINDOW_OPEN();">发送</a>';	
	}
	
	//回退
	if(BTN == 'WF_BACK'){
		HTML = '<a id="WF_BACK_' + BS_WF_ID + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_TASKBACK_WINDOW_OPEN();">回退</a>';
	}
	
	//取回
	if(BTN == 'WF_RETURN'){
		HTML = '<a id="WF_RETURN_' + BS_WF_ID + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_EXEC_TASK_RETURN();">取回</a>';
	}
	
	//撤销
	if(BTN == 'WF_REPEAL'){
		HTML = '<a id="WF_REPEAL_' + BS_WF_ID + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_EXEC_TASK_REPEAL();">撤销</a>';
	}
	
	if(BTN == 'WF_END'){
		HTML = '<a id="WF_END_' + BS_WF_ID + '" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_TASKEND_WINDOW_OPEN();">归档</a>';
	}
	return HTML;
}

/**
 * 初始化工作流按钮样式
 * @param ID	业务ID
 */
function WF_BTN_STYLE_INIT(){
	//发送
	$('#WF_SEND_' + BS_WF_ID).linkbutton({plain:true, iconCls:'icon-task-send'});
	//回退
	$('#WF_BACK_' + BS_WF_ID).linkbutton({plain:true, iconCls:'icon-task-back'});
	//取回
	$('#WF_RETURN_' + BS_WF_ID).linkbutton({plain:true, iconCls:'icon-task-back'});
	//领取
	$('#WF_TASK_' + BS_WF_ID).linkbutton({plain:true, iconCls:'icon-task-get'});
	//作废
	$('#WF_REPEAL_' + BS_WF_ID).linkbutton({plain:true, iconCls:'icon-task-repeal'});
	//归档
	$('#WF_END_' + BS_WF_ID).linkbutton({plain:true, iconCls:'icon-task-end'});
	//任务流转
	$('#WF_LOG_' + BS_WF_ID).linkbutton({plain:true,iconCls:'icon-task'});
}

/**
 * 初始化任务送交按钮
 */
function WF_TASKSEND_BTN_INIT(){
	var HTML = '';
	HTML += '<a id="WF_TASKSEND_BTN" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_EXEC_TASK_SEND();">发送</a> ';
	HTML += '<a id="WF_TASKSEND_WINDOW_BTN_CLOSE" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_TASKSEND_WINDOW_CLOSE();">关闭</a>';
	GETID('TASKSEND_BTN_SPAN').html(HTML);
}

/**
 * 初始化任务送交按钮样式
 */
function WF_TASKSEND_BTN_STYLE_INIT(){
	//发送
	$('#WF_TASKSEND_BTN').linkbutton({plain:true,iconCls:'icon-task-send'});
	//窗口关闭
	$('#WF_TASKSEND_WINDOW_BTN_CLOSE').linkbutton({plain:true,iconCls:'icon-close'});
}

/**
 * 初始化任务回退按钮
 */
function WF_TASKBACK_BTN_INIT(){
	var HTML = '';
	HTML += '<a id="WF_TASKBACK_BTN" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_EXEC_TASK_BACK();">回退</a> ';
	HTML += '<a id="WF_TASKBACK_WINDOW_BTN_CLOSE" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_TASKBACK_WINDOW_CLOSE();">关闭</a>';
	GETID('TASKBACK_BTN_SPAN').html(HTML);
}

/**
 * 初始化任务回退按钮样式
 */
function WF_TASKBACK_BTN_STYLE_INIT(){
	//发送
	$('#WF_TASKBACK_BTN').linkbutton({plain:true,iconCls:'icon-task-back'});
	//窗口关闭
	$('#WF_TASKBACK_WINDOW_BTN_CLOSE').linkbutton({plain:true,iconCls:'icon-close'});
}

/**
 * 初始化任务归档按钮
 */
function WF_TASKEND_BTN_INIT(){
	var HTML = '';
	HTML += '<a id="WF_TASKEND_BTN" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_EXEC_TASK_END();">归档</a> ';
	HTML += '<a id="WF_TASKEND_WINDOW_BTN_CLOSE" href="javascript:void(0);" class="easyui-linkbutton" onclick="WF_TASKBACK_WINDOW_CLOSE();">关闭</a>';
	GETID('TASKEND_BTN_SPAN').html(HTML);
}

/**
 * 初始化任务回退按钮样式
 */
function WF_TASKEND_BTN_STYLE_INIT(){
	//发送
	$('#WF_TASKEND_BTN').linkbutton({plain:true,iconCls:'icon-task-end'});
	//窗口关闭
	$('#WF_TASKEND_WINDOW_BTN_CLOSE').linkbutton({plain:true,iconCls:'icon-close'});
}

/**
 * 设置关闭业务窗口方法
 * @param FUNNAME
 */
function WF_SET_CLOSEFUN(FUNNAME){
	WF_BUSINESS_WINDOW_CLOSE = FUNNAME;
}

/**
 * 流程启动
 * @param ID		业务ID
 * @param WPFMID	流程ID
 */
function WF_PROCESS_START(WPFMID){
	//检查业务窗口关闭方法
	if(WF_BUSINESS_WINDOW_CLOSE == undefined){
		MESSAGEBOX('请设置 WF_SET_CLOSEFUN 方法!');
		return;
	}
	
	$.post('workflowProcessFunMountAjax!doStratProcess', {id:BS_IDVALUE, wpfmId:WPFMID},
			function(data){
				//刷新数据表格
				DG_RELOAD(BS_DATAGRID_ID);
				//弹出提示
				MESSAGEBOX('' + data.message + '');
				//加载工作流按钮数据
				$.post('workflowPermissionAjax!loadWorkflowBtnData', {modelName:WF_MODELNAME, modelIdName:WF_MODELIDNAME, id:BS_IDVALUE},
						function(data){
							//初始化流程按钮代码
							WF_BTN_TYPE_INIT(data);
					}, 'json');

		}, 'json');
}	

/**
 * 执行任务领取
 */
function WF_EXEC_TASK_TAKE(){
	$.post('workflowTasksAjax!execTakeTask', {taskId: WF_TASKID},
			function(data){
				//弹出提示
				MESSAGEBOX('' + data.message + '');
				//执行关闭业务窗口方法
				//WF_BUSINESS_WINDOW_CLOSE();
				//加载工作流按钮数据
				$.post('workflowPermissionAjax!loadWorkflowBtnData', {modelName:WF_MODELNAME, modelIdName:WF_MODELIDNAME, id:BS_IDVALUE},
						function(data){
							//初始化流程按钮代码
							WF_BTN_TYPE_INIT(data);
					}, 'json');
				
	}, 'json').error(function() {
		MESSAGEBOX('任务领取失败!');
	});
}

/**
 * 执行任务
 */
function WF_EXEC_TASK_SEND(){
	//检查业务窗口关闭方法
	if(WF_BUSINESS_WINDOW_CLOSE == undefined){
		MESSAGEBOX('请设置 WF_SET_CLOSEFUN 方法!');
		return;
	}
	
	WF_ASSIGNE = DG_ENTRUST.datagrid('getSelections');
	
	if(WF_ASSIGNE.length == 0){
		MESSAGEBOX('请选择任务委托人!');
		return;
	}
	
	WF_ASSIGNETYPE = 'USER';
	
	var ASSIGNE = '';
	for(var i = 0; i < WF_ASSIGNE.length; i++){
		if(ASSIGNE != ''){
			ASSIGNE += ',';
		}
		ASSIGNE += WF_ASSIGNE[i].id;
	}
	
	
	//留言信息
	var LM_CONTENT = GETID('LM_CONTENT_SEND').val();	
	$.post('workflowTasksAjax!executeTask', {id:BS_IDVALUE, taskId:WF_TASKID, modelName:WF_MODELNAME, assigneType:WF_ASSIGNETYPE, assigneRoles:WF_ROLES, assignees:ASSIGNE, lmContent:LM_CONTENT, submitType:'to_submit'},
			function(data){
				MESSAGEBOX('任务送交成功!');
				//重新加载业务数据
				DG_RELOAD(BS_DATAGRID_ID);
				//关闭业务窗口
				WF_BUSINESS_WINDOW_CLOSE();
				//关闭任务提交窗口
				WF_TASKSEND_WINDOW_CLOSE();
	}, 'json').error(function() {
		MESSAGEBOX('任务送交失败!');
	});
}

/**
 * 执行任务回退
 */
function WF_EXEC_TASK_BACK(){
	//检查业务窗口关闭方法
	if(WF_BUSINESS_WINDOW_CLOSE == undefined){
		MESSAGEBOX('请设置 WF_SET_CLOSEFUN 方法!');
		return;
	}
	
	//留言信息
	var LM_CONTENT = GETID('LM_CONTENT_BACK').val();	
	$.post('workflowTasksAjax!executeTask', {id:BS_IDVALUE, taskId:WF_TASKID, modelName:WF_MODELNAME, lmContent:LM_CONTENT, submitType:'to_rollback'},
			function(data){
				MESSAGEBOX('任务回退成功!');
				WF_BUSINESS_WINDOW_CLOSE();
				WF_TASKBACK_WINDOW_CLOSE();
	}, 'json').error(function() {
		MESSAGEBOX('任务回退失败!');
	});
}

/**
 * 执行任务取回
 */
function WF_EXEC_TASK_RETURN(){
	//检查业务窗口关闭方法
	if(WF_BUSINESS_WINDOW_CLOSE == undefined){
		MESSAGEBOX('请设置 WF_SET_CLOSEFUN 方法!');
		return;
	}
	
	$.post('workflowTasksAjax!executeTask', {id:BS_IDVALUE, taskId:WF_TASKID, modelName:WF_MODELNAME, submitType:'to_withdrow'},
			function(data){
				MESSAGEBOX('任务取回成功!');
				//关闭业务窗口
				WF_BUSINESS_WINDOW_CLOSE();
				//WF_TASKBACK_WINDOW_CLOSE();
	}, 'json').error(function() {
		MESSAGEBOX('任务取回失败!');
	});
}

/**
 * 执行任务撤销
 */
function WF_EXEC_TASK_REPEAL(){
	//检查业务窗口关闭方法
	if(WF_BUSINESS_WINDOW_CLOSE == undefined){
		MESSAGEBOX('请设置 WF_SET_CLOSEFUN 方法!');
		return;
	}
	
	$.post('workflowTasksAjax!execRepealTask', {id:BS_IDVALUE, taskId:WF_TASKID, modelName:WF_MODELNAME},
			function(data){
				DG_RELOAD(BS_DATAGRID_ID);
				MESSAGEBOX('流程撤销成功!');
				//执行关闭业务窗口方法
				WF_BUSINESS_WINDOW_CLOSE();
	}, 'json').error(function() {
		MESSAGEBOX('流程撤销失败!');
	});
}

/**
 * 执行任务归档
 */
function WF_EXEC_TASK_END(){
	
	//检查业务窗口关闭方法
	if(WF_BUSINESS_WINDOW_CLOSE == undefined){
		MESSAGEBOX('请设置 WF_SET_CLOSEFUN 方法!');
		return;
	}
	
	//留言信息
	var LM_CONTENT = GETID('LM_CONTENT_SEND').val();	
	$.post('workflowTasksAjax!executeTask', {id:BS_IDVALUE, taskId:WF_TASKID, modelName:WF_MODELNAME, lmContent:LM_CONTENT, submitType:'to_end'},
			function(data){
				MESSAGEBOX('任务归档成功!');
				//重新加载业务数据
				DG_RELOAD(BS_DATAGRID_ID);
				//关闭业务窗口
				WF_BUSINESS_WINDOW_CLOSE();
				//关闭任务提交窗口
				WF_TASKEND_WINDOW_CLOSE();
	}, 'json').error(function() {
		MESSAGEBOX('任务归档失败!');
	});
	
}

/**
 * 打开任务流转窗口
 */
function WF_TASKSEND_WINDOW_OPEN(){
	//初始化任务送交按钮
	WF_TASKSEND_BTN_INIT();
	//初始化任务送交按钮样式
	WF_TASKSEND_BTN_STYLE_INIT();
	
	if(WF_ASSIGNETYPE == 'USER' || WF_ASSIGNETYPE == 'ROLE'){
		DG_ENTRUST.datagrid('options').singleSelect = false;
	}else{
		DG_ENTRUST.datagrid('options').singleSelect = true;
	}
		
	//重新加载数据
	var URL = 'workflowPermissionAjax!loadWorkflowUserRoleData';
	var QUERYS = {assigneType:WF_ASSIGNETYPE, assigneRoles:WF_ROLES, assignees:WF_ASSIGNE};
	DG_QUERY(DG_ENTRUST, URL, QUERYS);
	
	GETID('LM_CONTENT_SEND').val('');
	
	//打开任务送交窗口
	WINDOW_OPEN(TASKSEND_WINDOW);	
}

/**
 * 关闭任务送交窗口
 */
function WF_TASKSEND_WINDOW_CLOSE(){
	WINDOW_CLOSE(TASKSEND_WINDOW);
}

/**
 * 打开任务回退窗口
 */
function WF_TASKBACK_WINDOW_OPEN(){
	//初始化任务回退按钮
	WF_TASKBACK_BTN_INIT();
	//初始化任务回退按钮样式
	WF_TASKBACK_BTN_STYLE_INIT();
	//清空回退留言信息
	GETID('LM_CONTENT_BACK').val('');
	//打开任务回退窗口
	WINDOW_OPEN(TASKBACK_WINDOW);
}

/**
 * 关闭任务回退窗口
 */
function WF_TASKBACK_WINDOW_CLOSE(){
	WINDOW_CLOSE(TASKBACK_WINDOW);
}

/**
 * 打开任务归档窗口
 */
function WF_TASKEND_WINDOW_OPEN(){
	//初始化任务送交按钮
	WF_TASKEND_BTN_INIT();
	//初始化任务送交按钮样式
	WF_TASKEND_BTN_STYLE_INIT();
	//打开任务送交窗口
	WINDOW_OPEN(TASKEND_WINDOW);	
}

/**
 * 关闭任务归档窗口
 */
function WF_TASKEND_WINDOW_CLOSE(){
	WINDOW_CLOSE(TASKEND_WINDOW);
}

/**
 * 打开任务流程日志窗口
 * @param ID		业务ID
 * @param WPFMID	流程ID
 */
function WF_TASKLOG_WINDOW_OPEN(ID, WPFMID){
	var URL = 'workflowHistoryAjax!findHistory';
	var QUERYS = {id:ID, wpfmId:WPFMID};
	DG_QUERY(DG_TASKLOG, URL, QUERYS);
	WINDOW_OPEN(TASKLOG_WINDOW);	
}

/**
 * 关闭任务流程日志窗口
 */
function WF_TASKLOG_WINDOW_CLOSE(){
	WINDOW_CLOSE(TASKLOG_WINDOW);
}



